<?php

/**
 * Lord_Action_Helper_Config
 * 
 * Зачиывает конфиг и пользовательские настройки
 * 
 * @author Игорь Будасов aka Lord <igor.budasov@gmail.com>
 */
 
class Lord_Action_Helper_Config extends Zend_Controller_Action_Helper_Abstract
{
		
/*------------------------------------------------------------------------------*/

	/**
	* Метод используется только лишь для вызова целевого метода
	*/
	
	public function direct()
	{         
		return $this->target();
	}
	
/*------------------------------------------------------------------------------*/	

	/**
	* Целевой метод. Он-то и делает всю работу
	*/
	
	public function target()
	{   
		// зачитываем текущий конфиг
		$config = Zend_Registry::get('config')->toArray();
		
		// зачитываем пользоватльские настройки 
		$model = new Basic();
		$preSettings = $model->getOptions()->toArray(); 
		
		// немного пересортируем для приведения к виду конфига
		foreach($preSettings as $k=>$v)
		{     
			$settings[$v['option_key']] = $v['value_current'];
		}
         
		// собираем оба массива
		$both = array_merge($config, $settings);
		
		// и делаем из двойного массива новый конфиг
		$result = new Zend_Config($both);

		// отдаем
		return $result;
	}
	
/*------------------------------------------------------------------------------*/	
}
